package com.dimples.dd.system.service;

import com.dimples.dd.common.pojo.PageResult;
import com.dimples.dd.system.model.entity.Oauth2RegisteredClientDO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dimples.dd.system.model.form.OAuth2ClientForm;
import com.dimples.dd.system.model.query.OAuth2ClientPageQuery;
import com.dimples.dd.system.model.vo.OAuth2ClientPageVO;

public interface Oauth2RegisteredClientService extends IService<Oauth2RegisteredClientDO> {

    /**
     * 创建 OAuth2 客户端
     *
     * @param oAuth2ClientForm oAuth2ClientForm
     * @return String
     */
    String createOAuth2Client(OAuth2ClientForm oAuth2ClientForm);

    /**
     * 更新 OAuth2 客户端
     *
     * @param updateForm updateForm
     */
    void updateOAuth2Client(OAuth2ClientForm updateForm);

    /**
     * 删除 OAuth2 客户端
     *
     * @param ids ids
     */
    void deleteOAuth2Client(String ids);

    /**
     * 获得 OAuth2 客户端
     *
     * @param id id
     * @return OAuth2ClientForm
     */
    OAuth2ClientForm selectOAuth2Client(String id);

    /**
     * 获得 OAuth2 客户端分页
     *
     * @param pageQuery pageQuery
     * @return PageResult<OAuth2ClientVO>
     */
    PageResult<OAuth2ClientPageVO> selectOAuth2ClientPage(OAuth2ClientPageQuery pageQuery);
}
